#pragma once


BEGIN_NAMESPACE_OXGE
template<typename PT>
class Line3T
{
public:
	typedef Vector3T<PT> VectorType;
	typedef Point3T<PT> PointType;
	typedef Line3T<PT> LineType;


	Line3T( const VectorType& dir, const PointType& ptSrc = PointType::ZERO ){
		orignPt = ptSrc;
		dirVec = dir.GetNormVector();
	}

	Line3T(const PointType& ptSrc, const PointType& pt2){
		orignPt = ptSrc;
		dirVec = (pt2 - ptSrc).GetNormVector();
	}



public:
	PointType orignPt;
	VectorType dirVec;
};

END_NAMESPACE_OXGE
